package com.xuhao.examai.question.domain.repositories;

import com.xuhao.examai.question.domain.models.Question;
import java.util.List;
import java.util.Optional;

/**
 * 题目仓储接口
 */
public interface QuestionRepository {

	/**
	 * 保存题目
	 */
	Question save(Question question);

	/**
	 * 根据ID查找题目
	 */
	Optional<Question> findById(Long id);

	/**
	 * 根据考试ID查找题目列表
	 */
	List<Question> findByExamId(Long examId);

	/**
	 * 根据知识点查找题目
	 */
	List<Question> findByKnowledgePoint(String knowledgePoint);

	/**
	 * 根据难度查找题目
	 */
	List<Question> findByDifficulty(String difficulty);

	/**
	 * 根据类型查找题目
	 */
	List<Question> findByQuestionType(String questionType);

	/**
	 * 删除题目
	 */
	void deleteById(Long id);

	/**
	 * 检查题目是否存在
	 */
	boolean existsById(Long id);
}